% Copyright 2006 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Free Documentation License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.


\begin{document}

% The titlepage

\newbox\mybox
{
  \parindent0pt
  \null
  \colorlet{mintgreen}{green!50!black!50}

  \thispagestyle{empty}
  \vskip3cm
  \vfill
  \hfil
  \begin{tikzpicture}[overlay]
    \coordinate (front) at (0,0);
    \coordinate (horizon) at (0,.31\paperheight);
    \coordinate (bottom) at (0,-.6\paperheight);
    \coordinate (sky) at (0,.57\paperheight);
    \coordinate (left) at (-.51\paperwidth,0);
    \coordinate (right) at (.51\paperwidth,0);

    \shade [bottom color=blue!30!black!10,top color=blue!30!black!50]
      ([yshift=-5mm]horizon -|  left) rectangle (sky -| right);
    \shade [bottom color=black!70!green!25,top color=black!70!green!10]
      (front -| left) -- (horizon -| left)
      decorate [decoration=random steps] { -- (horizon -| right) }
      -- (front -| right) -- cycle;
    \shade [top color=black!70!green!25,bottom color=black!25]
      ([yshift=-5mm-1pt]front -| left) rectangle ([yshift=1pt]front -| right);
    \fill [black!25] (bottom -| left) rectangle ([yshift=-5mm]front -| right);

    \def\nodeshadowed[#1]#2;{\node[scale=2,above,#1]{\global\setbox\mybox=\hbox{#2}\copy\mybox};
      \node[scale=2,above,#1,yscale=-1,scope fading=south,opacity=0.4]{\box\mybox};}

    \nodeshadowed [at={(-5,5  )},yslant=0.05] {\Huge Ti\textcolor{orange}{\emph{k}}Z};
    \nodeshadowed [at={( 0,5.3)}] {\huge \textcolor{mintgreen}{\&}};
    \nodeshadowed [at={( 5,5  )},yslant=-0.05] {\Huge \textsc{PGF}};
    \nodeshadowed [at={( 0,2  )}] {Manual for Version \pgftypesetversion};

    \foreach \where in {-9cm,9cm}
    {\nodeshadowed [at={(\where,5cm)}] {
    \tikz \draw [green!20!black, rotate=90]
    [l-system={rule set={F -> FF-[-F+F]+[+F-F]}, axiom=F, order=4,
      step=2pt, randomize step percent=50, angle=30, randomize angle percent=5}]
    lindenmayer system;};}

    \foreach \i in {0.5,0.6,...,2}
      \fill [white,decoration=Koch snowflake,opacity=.9]
            [shift=(horizon),shift={(rand*11,rnd*7)},scale=\i]
            [double copy shadow={opacity=0.2,shadow xshift=0pt,shadow
              yshift=3*\i pt,fill=white,draw=none}]
        decorate {
          decorate {
            decorate {
              (0,0) -- ++(60:1) -- ++(-60:1) -- cycle
            }
          }
        };

  \node (left text) [text width=.5\paperwidth-2cm,below right,at={(-.5\paperwidth+1cm,-1.5cm)}]
  {
    \fontfamily{pcr}
    \def\textbraceleft{\char`\{}
    \def\textbraceright{\char`\}}
    \def\textbackslash{\char`\\}
    \begin{lstlisting}[basicstyle=\scriptsize\color{black},
                       keywordstyle=\bfseries\color{white},
                       identifierstyle=\bfseries\color{black},
                       keywords={tikzpicture,shade,fill,draw,path,node},
                       literate={-}{{-}}1]
\begin{tikzpicture}
  \coordinate (front) at (0,0);
  \coordinate (horizon) at (0,.31\paperheight);
  \coordinate (bottom) at (0,-.6\paperheight);
  \coordinate (sky) at (0,.57\paperheight);
  \coordinate (left) at (-.51\paperwidth,0);
  \coordinate (right) at (.51\paperwidth,0);

  \shade [bottom color=white,
          top color=blue!30!black!50]
              ([yshift=-5mm]horizon -|  left)
    rectangle (sky -| right);

  \shade [bottom color=black!70!green!25,
          top color=black!70!green!10]
    (front -| left) -- (horizon -| left)
    decorate [decoration=random steps] {
      -- (horizon -| right)  }
    -- (front -| right) -- cycle;

  \shade [top color=black!70!green!25,
         bottom color=black!25]
              ([yshift=-5mm-1pt]front -| left)
    rectangle ([yshift=1pt]front -| right);

  \fill [black!25]
              (bottom -| left)
    rectangle ([yshift=-5mm]front -| right);

  \def\nodeshadowed[#1]#2;{
    \node[scale=2,above,#1]{
      \global\setbox\mybox=\hbox{#2}
      \copy\mybox};
    \node[scale=2,above,#1,yscale=-1,
          scope fading=south,opacity=0.4]{\box\mybox};
  }
\end{lstlisting}
};

  \node (right text) [text width=.5\paperwidth-2cm,below right,at={(1cm,-1.5cm)}]
  {
    \fontfamily{pcr}
    \def\textbraceleft{\char`\{}
    \def\textbraceright{\char`\}}
    \def\textbackslash{\char`\\}
    \begin{lstlisting}[basicstyle=\scriptsize\color{black},
                       keywordstyle=\bfseries\color{white},
                       identifierstyle=\bfseries\color{black},
                       keywords={tikzpicture,shade,fill,draw,path,node},
                       literate={-}{{-}}1]
  \nodeshadowed [at={(-5,8  )},yslant=0.05]
    {\Huge Ti\textcolor{orange}{\emph{k}}Z};
  \nodeshadowed [at={( 0,8.3)}]
    {\huge \textcolor{green!50!black!50}{\&}};
  \nodeshadowed [at={( 5,8  )},yslant=-0.05]
    {\Huge \textsc{PGF}};
  \nodeshadowed [at={( 0,5  )}]
    {Manual for Version \pgftypesetversion};

  \foreach \where in {-9cm,9cm} {
    \nodeshadowed [at={(\where,5cm)}] { \tikz
      \draw [green!20!black, rotate=90,
             l-system={rule set={F -> FF-[-F+F]+[+F-F]},
               axiom=F, order=4,step=2pt,
               randomize step percent=50, angle=30,
               randomize angle percent=5}] l-system; }}

  \foreach \i in {0.5,0.6,...,2}
    \fill
      [white,opacity=\i/2,
       decoration=Koch snowflake,
       shift=(horizon),shift={(rand*11,rnd*7)},
       scale=\i,double copy shadow={
         opacity=0.2,shadow xshift=0pt,
         shadow yshift=3*\i pt,fill=white,draw=none}]
      decorate {
        decorate {
          decorate {
            (0,0)- ++(60:1) -- ++(-60:1) -- cycle
          } } };

   \node (left text) ...
   \node (right text) ...

   \fill [decorate,decoration={footprints,foot of=gnome},
          opacity=.5,brown]        (rand*8,-rnd*10)
     to [out=rand*180,in=rand*180] (rand*8,-rnd*10);
\end{tikzpicture}
  \end{lstlisting}
  };

  \fill [decorate,decoration=footprints,
         decoration={footprints,foot of=gnome},
         opacity=.5,brown]        (rand*8,-rnd*10)
    to [out=rand*180,in=rand*180] (rand*8,-rnd*10);
\end{tikzpicture}
\vfill
\vbox{}
\clearpage
}

{
  \vbox{}
  \vskip0pt plus 1fill
  F\"ur meinen Vater, damit er noch viele sch\"one \TeX-Graphiken
  erschaffen kann.
  \vskip1em
  \hfill\emph{Till}
  \vskip0pt plus 3fill

  \parindent=0pt
  Copyright 2007 to 2013 by Till Tantau

  \medskip
  Permission is granted to copy, distribute and/or modify \emph{the documentation}
  under the terms of the \textsc{gnu} Free Documentation License, Version 1.2
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
  A copy of the license is included in the section entitled \textsc{gnu}
  Free Documentation License.

  \medskip
  Permission is granted to copy, distribute and/or modify \emph{the
    code of the package} under the terms of the \textsc{gnu} Public License, Version 2
  or any later version published by the Free Software Foundation.
  A copy of the license is included in the section entitled \textsc{gnu}
  Public License.

  \medskip
  Permission is also granted to distribute and/or modify \emph{both
    the documentation and the code} under the conditions of the LaTeX
  Project Public License, either version 1.3 of this license or (at
  your option) any later version. A copy of the license is included in
  the section entitled \LaTeX\ Project Public License.

  \vbox{}
  \clearpage
}


\title{\bfseries The \tikzname\ and {\Large PGF} Packages\\
  \large Manual for version \pgfversion\\[1mm]
\large\href{http://sourceforge.net/projects/pgf}{\texttt{http://sourceforge.net/projects/pgf}}}
\author{Till Tantau\footnote{Editor of this documentation. Parts of
    this documentation have been written by other authors as indicated
    in these parts or chapters and in Section~\ref{section-authors}.}\\
  \normalsize Institut f\"ur Theoretische Informatik\\[-1mm]
  \normalsize Universit\"at zu L\"ubeck}

\maketitle

\tableofcontents

\clearpage


\include{pgfmanual-en-introduction}


% \part{Tutorials and Guidelines}

% {\Large \emph{by Till Tantau}}

% \bigskip
% \noindent
% To help you get started with \tikzname, instead of a long installation
% and configuration section, this manual starts with tutorials. They
% explain all the basic and some of the more advanced features of the
% system, without going into all the details. This part also contains
% some guidelines on how you should proceed when creating graphics using
% \tikzname.

% \vskip3cm

% \begin{codeexample}[graphic=white,width=0pt]
% \tikz \draw[thick,rounded corners=8pt]
%   (0,0) -- (0,2) -- (1,3.25) -- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0);
% \end{codeexample}

% \include{pgfmanual-en-tutorial}
% \include{pgfmanual-en-tutorial-nodes}
% \include{pgfmanual-en-tutorial-Euclid}
% \include{pgfmanual-en-tutorial-chains}
% \include{pgfmanual-en-tutorial-map}
% \include{pgfmanual-en-guidelines}



% \part{Installation and Configuration}

% {\Large \emph{by Till Tantau}}


% \bigskip
% \noindent
% This part explains how the system is installed. Typically, someone has
% already done so for your system, so this part can be skipped; but if
% this is not the case and you are the poor fellow who has to do the
% installation, read the present part.


% \vskip1cm

% \begin{codeexample}[graphic=white]
% \begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,on grid,semithick,
%                     every state/.style={fill=red,draw=none,circular drop shadow,text=white}]

%   \node[initial,state] (A)                    {$q_a$};
%   \node[state]         (B) [above right=of A] {$q_b$};
%   \node[state]         (D) [below right=of A] {$q_d$};
%   \node[state]         (C) [below right=of B] {$q_c$};
%   \node[state]         (E) [below=of D]       {$q_e$};

%   \path (A) edge              node {0,1,L} (B)
%             edge              node {1,1,R} (C)
%         (B) edge [loop above] node {1,1,L} (B)
%             edge              node {0,1,L} (C)
%         (C) edge              node {0,1,L} (D)
%             edge [bend left]  node {1,0,R} (E)
%         (D) edge [loop below] node {1,1,R} (D)
%             edge              node {0,1,R} (A)
%         (E) edge [bend left]  node {1,0,R} (A);

%    \node [right=1cm,text width=8cm] at (C)
%    {
%      The current candidate for the busy beaver for five states. It is
%      presumed that this Turing machine writes a maximum number of
%      $1$'s before halting among all Turing machines with five states
%      and the tape alphabet $\{0, 1\}$. Proving this conjecture is an
%      open research problem.
%    };
% \end{tikzpicture}
% \end{codeexample}

% \include{pgfmanual-en-installation}
% \include{pgfmanual-en-license}
% \include{pgfmanual-en-drivers}


% \part{Ti\emph{k}Z ist \emph{kein} Zeichenprogramm}
% \label{part-tikz}

% {\Large \emph{by Till Tantau}}


% \bigskip
% \noindent
% \vskip3cm
% \begin{codeexample}[graphic=white]

% \begin{tikzpicture}[angle radius=.75cm]

%   \node (A) at (-2,0)    [red,left]   {$A$};
%   \node (B) at ( 3,.5)    [red,right]  {$B$};
%   \node (C) at (-2,2)  [blue,left]  {$C$};
%   \node (D) at ( 3,2.5)  [blue,right] {$D$};
%   \node (E) at (60:-5mm) [below]      {$E$};
%   \node (F) at (60:3.5cm)  [above]      {$F$};

%   \coordinate (X) at (intersection cs:first line={(A)--(B)}, second line={(E)--(F)});
%   \coordinate (Y) at (intersection cs:first line={(C)--(D)}, second line={(E)--(F)});
  
%   \path 
%     (A) edge [red, thick]  (B)
%     (C) edge [blue, thick] (D)
%     (E) edge [thick]       (F)
%       pic ["$\alpha$",  draw, fill=yellow]   {angle = F--X--A}
%       pic ["$\beta$",   draw, fill=green!30] {angle = B--X--F}
%       pic ["$\gamma$",  draw, fill=yellow]   {angle = E--Y--D}
%       pic ["$\delta$",  draw, fill=green!30] {angle = C--Y--E};

%   \node at ($ (D)!.5!(B) $) [right=1cm,text width=6cm,rounded corners,fill=red!20,inner sep=1ex]
%     {
%       When we assume that $\color{red}AB$ and $\color{blue}CD$ are
%       parallel, i.\,e., ${\color{red}AB} \mathbin{\|} \color{blue}CD$,
%       then $\alpha = \delta$ and $\beta = \gamma$.
%     };
% \end{tikzpicture}
% \end{codeexample}



% \include{pgfmanual-en-tikz-design}
% \include{pgfmanual-en-tikz-scopes}
% \include{pgfmanual-en-tikz-coordinates}
% \include{pgfmanual-en-tikz-paths}
% \include{pgfmanual-en-tikz-actions}
% \include{pgfmanual-en-tikz-arrows}
% \include{pgfmanual-en-tikz-shapes}
% \include{pgfmanual-en-tikz-pics}
% \include{pgfmanual-en-tikz-graphs}
% \include{pgfmanual-en-tikz-matrices}
% \include{pgfmanual-en-tikz-trees}
% \include{pgfmanual-en-tikz-plots}
% \include{pgfmanual-en-tikz-transparency}
% \include{pgfmanual-en-tikz-decorations}
% \include{pgfmanual-en-tikz-transformations}


% \part{Graph Drawing}
% \label{part-gd}

% {\Large \emph{by Till Tantau et al.}}

% \bigskip
% \noindent
% \emph{Graph drawing algorithms} do the tough work of computing a
% layout of a graph for you. \tikzname\ comes with powerful
% such algorithms, but you can also implement new algorithms in the
% Lua programming language.
% \vskip1cm

% \ifluatex
% \begin{codeexample}[graphic=white]
% \tikz [nodes={text height=.7em, text depth=.2em,
%               draw=black!20, thick, fill=white, font=\footnotesize},
%        >=spaced stealth', rounded corners, semithick]
%   \graph [layered layout, level distance=1cm, sibling sep=.5em, sibling distance=1cm] {
%     "5th Edition" -> { "6th Edition", "PWB 1.0" };
%     "6th Edition" -> { "LSX" [>child anchor=45],  "1 BSD", "Mini Unix", "Wollongong", "Interdata" };
%     "Interdata" -> { "Unix/TS 3.0", "PWB 2.0", "7th Edition" };
%     "7th Edition" -> { "8th Edition", "32V", "V7M", "Ultrix-11", "Xenix", "UniPlus+" };
%     "V7M" -> "Ultrix-11";
%     "8th Edition" -> "9th Edition";
%     "1 BSD" -> "2 BSD" -> "2.8 BSD" -> { "Ultrix-11", "2.9 BSD" };
%     "32V" -> "3 BSD" -> "4 BSD" -> "4.1 BSD" -> { "4.2 BSD", "2.8 BSD", "8th Edition" };
%     "4.2 BSD" -> { "4.3 BSD", "Ultrix-32" };
%     "PWB 1.0" -> { "PWB 1.2" -> "PWB 2.0", "USG 1.0" -> { "CB Unix 1", "USG 2.0" }};
%     "CB Unix 1" -> "CB Unix 2" -> "CB Unix 3" -> { "Unix/TS++", "PDP-11 Sys V" };
%     { "USG 2.0" -> "USG 3.0", "PWB 2.0", "Unix/TS 1.0" } -> "Unix/TS 3.0";
%     { "Unix/TS++", "CB Unix 3", "Unix/TS 3.0" } -> "TS 4.0" -> "System V.0" -> "System V.2" -> "System V.3";
%   };  
% \end{codeexample}

% \else
% You need to use Lua\TeX\ to typeset this part of the manual (and,
% also, to use algorithmic graph drawing). 
% \fi

% \include{pgfmanual-en-gd-overview}
% \include{pgfmanual-en-gd-usage-tikz}
% \include{pgfmanual-en-gd-usage-pgf}
% \include{pgfmanual-en-gd-trees}
% \include{pgfmanual-en-gd-layered}
% \include{pgfmanual-en-gd-force}
% \include{pgfmanual-en-gd-circular}
% \include{pgfmanual-en-gd-phylogenetics}
% \include{pgfmanual-en-gd-edge-routing}
% %
% % XXX : disabled because of 
% % 1. compile-time dependencies which are hard to resolve
% % 2. it is "hardly usable anyway" (TT)
% %\include{pgfmanual-en-gd-ogdf}
% \include{pgfmanual-en-gd-algorithm-layer}
% \include{pgfmanual-en-gd-algorithms-in-c}
% \include{pgfmanual-en-gd-display-layer}
% \include{pgfmanual-en-gd-binding-layer}
  

% \part{Libraries}
% \label{part-libraries}

% {\Large \emph{by Till Tantau}}


% \bigskip
% \noindent
% In this part the library packages are documented. They
% provide additional predefined graphic objects like new arrow heads or
% new plot marks, but sometimes also extensions of the basic \pgfname\
% or \tikzname\ system. The libraries are not loaded by default since
% many users will not need them.

% \medskip
% \noindent
% \begin{codeexample}[graphic=white]
% \tikzset{
%   ld/.style={level distance=#1},lw/.style={line width=#1},
%   level 1/.style={ld=4.5mm, trunk,          lw=1ex ,sibling angle=60},
%   level 2/.style={ld=3.5mm, trunk!80!leaf a,lw=.8ex,sibling angle=56},
%   level 3/.style={ld=2.75mm,trunk!60!leaf a,lw=.6ex,sibling angle=52},
%   level 4/.style={ld=2mm,   trunk!40!leaf a,lw=.4ex,sibling angle=48},
%   level 5/.style={ld=1mm,   trunk!20!leaf a,lw=.3ex,sibling angle=44},
%   level 6/.style={ld=1.75mm,leaf a,         lw=.2ex,sibling angle=40},
% }
% \pgfarrowsdeclare{leaf}{leaf}
%   {\pgfarrowsleftextend{-2pt} \pgfarrowsrightextend{1pt}}
% {
%   \pgfpathmoveto{\pgfpoint{-2pt}{0pt}}
%   \pgfpatharc{150}{30}{1.8pt}
%   \pgfpatharc{-30}{-150}{1.8pt}
%   \pgfusepathqfill
% }

% \newcommand{\logo}[5]
% {
%   \colorlet{border}{#1}
%   \colorlet{trunk}{#2}
%   \colorlet{leaf a}{#3}
%   \colorlet{leaf b}{#4}
%   \begin{tikzpicture}
%     \scriptsize\scshape
%     \draw[border,line width=1ex,yshift=.3cm,
%           yscale=1.45,xscale=1.05,looseness=1.42]
%       (1,0) to [out=90, in=0]    (0,1)  to [out=180,in=90]  (-1,0)
%             to [out=-90,in=-180] (0,-1) to [out=0,  in=-90] (1,0) -- cycle;

%     \coordinate (root) [grow cyclic,rotate=90]
%     child {
%       child [line cap=round] foreach \a in {0,1} {
%         child foreach \b in {0,1} {
%           child foreach \c in {0,1} {
%             child foreach \d in {0,1} {
%               child foreach \leafcolor in {leaf a,leaf b}
%                 { edge from parent [color=\leafcolor,-#5] }
%         } } }
%       } edge from parent [shorten >=-1pt,serif cm-,line cap=butt]
%     };

%     \node [align=center,below] at (0pt,-.5ex)
%     { \textcolor{border}{T}heoretical \\ \textcolor{border}{C}omputer \\
%       \textcolor{border}{S}cience };
%   \end{tikzpicture}
% }
% \begin{minipage}{3cm}
%   \logo{green!80!black}{green!25!black}{green}{green!80}{leaf}\\
%   \logo{green!50!black}{black}{green!80!black}{red!80!green}{leaf}\\
%   \logo{red!75!black}{red!25!black}{red!75!black}{orange}{leaf}\\
%   \logo{black!50}{black}{black!50}{black!25}{}
% \end{minipage}
% \end{codeexample}

% \include{pgfmanual-en-library-angles}
% \include{pgfmanual-en-library-arrows}
% \include{pgfmanual-en-library-automata}
% \include{pgfmanual-en-library-babel}
% \include{pgfmanual-en-library-backgrounds}
% \include{pgfmanual-en-library-calc}
% \include{pgfmanual-en-library-calendar}
% \include{pgfmanual-en-library-chains}
% \include{pgfmanual-en-library-circuits}
% \include{pgfmanual-en-library-decorations}
% \include{pgfmanual-en-library-er}
% \include{pgfmanual-en-library-external}
% \include{pgfmanual-en-library-fadings}
% \include{pgfmanual-en-library-fit}
% \include{pgfmanual-en-library-fixedpoint}
% \include{pgfmanual-en-library-fpu}
% \include{pgfmanual-en-library-lsystems}
% \include{pgfmanual-en-library-math}
% \include{pgfmanual-en-library-matrices}
% \include{pgfmanual-en-library-mindmaps}
% \include{pgfmanual-en-library-folding}
% \include{pgfmanual-en-library-patterns}
% \include{pgfmanual-en-library-petri}
% \include{pgfmanual-en-library-plot-handlers}
% \include{pgfmanual-en-library-plot-marks}
% \include{pgfmanual-en-library-profiler}
% \include{pgfmanual-en-library-shadings}
% \include{pgfmanual-en-library-shadows}
% \include{pgfmanual-en-library-shapes}
% \include{pgfmanual-en-library-spy}
% \include{pgfmanual-en-library-svg-path}
% \include{pgfmanual-en-library-edges}
% \include{pgfmanual-en-library-through}
% \include{pgfmanual-en-library-trees}
% \include{pgfmanual-en-library-turtle}


% \part{Data Visualization}
% \label{part-dv}

% {\Large \emph{by Till Tantau}}

% \bigskip
% \noindent

% \begin{codeexample}[graphic=white]
% \tikz \datavisualization [scientific axes=clean]
% [
%   visualize as smooth line=Gaussian,
%   Gaussian={pin in data={text={$e^{-x^2}$},when=x is 1}}
% ]
% data [format=function] {
%   var x : interval [-7:7] samples 51;
%   func y = exp(-\value x*\value x);
% }
% [
%   visualize as scatter,
%   legend={south east outside},
%   scatter={
%     style={mark=*,mark size=1.4pt},
%     label in legend={text={
%         $\sum_{i=1}^{10} x_i$, where $x_i \sim U(-1,1) $}}}
% ]
% data [format=function] {
%   var i : interval [0:1] samples 20;
%   func y = 0;
%   func x = (rand + rand + rand + rand + rand +
%             rand + rand + rand + rand + rand);
% };
% \end{codeexample}

% \include{pgfmanual-en-dv-introduction}
% \include{pgfmanual-en-dv-main}
% \include{pgfmanual-en-dv-formats}
% \include{pgfmanual-en-dv-axes}
% \include{pgfmanual-en-dv-visualizers}
% \include{pgfmanual-en-dv-stylesheets}
% \include{pgfmanual-en-dv-polar}
% \include{pgfmanual-en-dv-backend}


% \part{Utilities}
% \label{part-utilities}

% {\Large \emph{by Till Tantau}}


% \bigskip
% \noindent
% The utility packages are not directly involved in creating graphics,
% but you may find them useful nonetheless. All of them either directly
% depend on \pgfname\ or they are designed to work well together with
% \pgfname\ even though they can be used in a stand-alone way.

% \vskip2cm
% \medskip
% \noindent
% \begin{codeexample}[graphic=white]
% \begin{tikzpicture}[scale=2]
%   \shade[top color=blue,bottom color=gray!50] (0,0) parabola (1.5,2.25) |- (0,0);
%   \draw (1.05cm,2pt) node[above] {$\displaystyle\int_0^{3/2} \!\!x^2\mathrm{d}x$};

%   \draw[help lines] (0,0) grid (3.9,3.9)
%        [step=0.25cm]      (1,2) grid +(1,1);

%   \draw[->] (-0.2,0) -- (4,0) node[right] {$x$};
%   \draw[->] (0,-0.2) -- (0,4) node[above] {$f(x)$};

%   \foreach \x/\xtext in {1/1, 1.5/1\frac{1}{2}, 2/2, 3/3}
%     \draw[shift={(\x,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {$\xtext$};

%   \foreach \y/\ytext in {1/1, 2/2, 2.25/2\frac{1}{4}, 3/3}
%     \draw[shift={(0,\y)}] (2pt,0pt) -- (-2pt,0pt) node[left] {$\ytext$};

%   \draw (-.5,.25) parabola bend (0,0) (2,4) node[below right] {$x^2$};
% \end{tikzpicture}
% \end{codeexample}

% \include{pgfmanual-en-pgfkeys}
% \include{pgfmanual-en-pgffor}
% \include{pgfmanual-en-pgfcalendar}
% \include{pgfmanual-en-pages}
% \include{pgfmanual-en-xxcolor}
% \include{pgfmanual-en-module-parser}


% \part{Mathematical and Object-Oriented Engines}

% {\Large \emph{by Mark Wibrow and Till Tantau}}


% \bigskip
% \noindent
% \pgfname\ comes with two useful engines: One for doing mathematics,
% one for doing object-oriented programming. Both engines can be used
% independently of the main \pgfname.

% The job of the mathematical
% engine is to support mathematical operations like addition,
% subtraction, multiplication and division, using both integers and
% non-integers, but also functions such as square-roots, sine, cosine,
% and generate pseudo-random numbers.
% Mostly, you will use the mathematical facilities of \pgfname\
% indirectly, namely when you write a coordinate like |(5cm*3,6cm/4)|,
% but the mathematical engine can also be used independently of
% \pgfname\ and \tikzname.

% The job of the object-oriented engine is to support simple
% object-oriented programming in \TeX. It allows the definition of
% \emph{classes} (without inheritance), \emph{methods},
% \emph{attributes} and \emph{objects}.

% \vskip1cm
% \begin{codeexample}[graphic=white]
% \pgfmathsetseed{1}
% \foreach \col in {black,red,green,blue}
% {
%   \begin{tikzpicture}[x=10pt,y=10pt,ultra thick,baseline,line cap=round]
%     \coordinate (current point) at (0,0);
%     \coordinate (old velocity) at (0,0);
%     \coordinate (new velocity) at (rand,rand);

%     \foreach \i in {0,1,...,100}
%     {
%       \draw[\col!\i] (current point)
%       .. controls ++([scale=-1]old velocity) and
%                   ++(new velocity) .. ++(rand,rand)
%          coordinate (current point);
%       \coordinate (old velocity) at (new velocity);
%       \coordinate (new velocity) at (rand,rand);
%     }
%   \end{tikzpicture}
% }
% \end{codeexample}

% \include{pgfmanual-en-math-design}
% \include{pgfmanual-en-math-parsing}
% \include{pgfmanual-en-math-commands}
% \include{pgfmanual-en-math-algorithms}
% \include{pgfmanual-en-math-numberprinting}
% \include{pgfmanual-en-oo}


% \part{The Basic Layer}

% {\Large \emph{by Till Tantau}}


% \bigskip
% \noindent
% \vskip1cm
% \begin{codeexample}[graphic=white]
% \begin{tikzpicture}
%   \draw[gray,very thin] (-1.9,-1.9) grid (2.9,3.9)
%           [step=0.25cm] (-1,-1) grid (1,1);
%   \draw[blue] (1,-2.1) -- (1,4.1); % asymptote

%   \draw[->] (-2,0) -- (3,0) node[right] {$x(t)$};
%   \draw[->] (0,-2) -- (0,4) node[above] {$y(t)$};

%   \foreach \pos in {-1,2}
%     \draw[shift={(\pos,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {$\pos$};

%   \foreach \pos in {-1,1,2,3}
%     \draw[shift={(0,\pos)}] (2pt,0pt) -- (-2pt,0pt) node[left] {$\pos$};

%   \fill (0,0) circle (0.064cm);
%   \draw[thick,parametric,domain=0.4:1.5,samples=200]
%     % The plot is reparameterised such that there are more samples
%     % near the center.
%     plot[id=asymptotic-example] function{(t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))}
%     node[right] {$\bigl(x(t),y(t)\bigr) = (t\sin \frac{1}{t}, t\cos \frac{1}{t})$};

%   \fill[red] (0.63662,0) circle (2pt)
%     node [below right,fill=white,yshift=-4pt] {$(\frac{2}{\pi},0)$};
% \end{tikzpicture}
% \end{codeexample}


% \include{pgfmanual-en-base-design}
% \include{pgfmanual-en-base-scopes}
% \include{pgfmanual-en-base-points}
% \include{pgfmanual-en-base-paths}
% \include{pgfmanual-en-base-decorations}
% \include{pgfmanual-en-base-actions}
% \include{pgfmanual-en-base-arrows}
% \include{pgfmanual-en-base-nodes}
% \include{pgfmanual-en-base-matrices}
% \include{pgfmanual-en-base-transformations}
% \include{pgfmanual-en-base-patterns}
% \include{pgfmanual-en-base-images}
% \include{pgfmanual-en-base-external}
% \include{pgfmanual-en-base-plots}
% \include{pgfmanual-en-base-layers}
% \include{pgfmanual-en-base-shadings}
% \include{pgfmanual-en-base-transparency}
% \include{pgfmanual-en-base-internalregisters}
% \include{pgfmanual-en-base-quick}




% \part{The System Layer}
% \label{part-system}

% {\Large \emph{by Till Tantau}}


% \bigskip
% \noindent
% This part describes the low-level interface of \pgfname, called the
% \emph{system layer}. This interface provides a complete abstraction of
% the internals of the underlying drivers.

% Unless you intend to port \pgfname\ to another driver or unless you intend
% to write your own optimized frontend, you need not read this part.

% In the following it is assumed that you are familiar with the basic
% workings of the |graphics| package and that you know what
% \TeX-drivers are and how they work.

% \vskip1cm
% \begin{codeexample}[graphic=white]
% \begin{tikzpicture}
%   [shorten >=1pt,->,
%    vertex/.style={circle,fill=black!25,minimum size=17pt,inner sep=0pt}]

%   \foreach \name/\x in {s/1, 2/2, 3/3, 4/4, 15/11, 16/12, 17/13, 18/14, 19/15, t/16}
%     \node[vertex] (G-\name) at (\x,0) {$\name$};

%   \foreach \name/\angle/\text in {P-1/234/5, P-2/162/6, P-3/90/7, P-4/18/8, P-5/-54/9}
%     \node[vertex,xshift=6cm,yshift=.5cm] (\name) at (\angle:1cm) {$\text$};

%   \foreach \name/\angle/\text in {Q-1/234/10, Q-2/162/11, Q-3/90/12, Q-4/18/13, Q-5/-54/14}
%     \node[vertex,xshift=9cm,yshift=.5cm] (\name) at (\angle:1cm) {$\text$};

%   \foreach \from/\to in {s/2,2/3,3/4,3/4,15/16,16/17,17/18,18/19,19/t}
%     \draw (G-\from) -- (G-\to);

%   \foreach \from/\to in {1/2,2/3,3/4,4/5,5/1,1/3,2/4,3/5,4/1,5/2}
%     { \draw (P-\from) -- (P-\to); \draw (Q-\from) -- (Q-\to); }

%   \draw (G-3) .. controls +(-30:2cm) and +(-150:1cm) .. (Q-1);
%   \draw (Q-5) -- (G-15);
% \end{tikzpicture}
% \end{codeexample}

% \include{pgfmanual-en-pgfsys-overview}
% \include{pgfmanual-en-pgfsys-commands}
% \include{pgfmanual-en-pgfsys-paths}
% \include{pgfmanual-en-pgfsys-protocol}



% \part{References and Index}

% \vskip1cm
% \begin{codeexample}[graphic=white]
% \begin{tikzpicture}
%   \draw[line width=0.3cm,color=red!30,line cap=round,line join=round] (0,0)--(2,0)--(2,5);
%   \draw[help lines] (-2.5,-2.5) grid (5.5,7.5);
%   \draw[very thick] (1,-1)--(-1,-1)--(-1,1)--(0,1)--(0,0)--
%     (1,0)--(1,-1)--(3,-1)--(3,2)--(2,2)--(2,3)--(3,3)--
%     (3,5)--(1,5)--(1,4)--(0,4)--(0,6)--(1,6)--(1,5)
%     (3,3)--(4,3)--(4,5)--(3,5)--(3,6)
%     (3,-1)--(4,-1);
%   \draw[below left] (0,0) node(s){$s$};
%   \draw[below left] (2,5) node(t){$t$};
%   \fill (0,0) circle (0.06cm) (2,5) circle (0.06cm);
%   \draw[->,rounded corners=0.2cm,shorten >=2pt]
%     (1.5,0.5)-- ++(0,-1)-- ++(1,0)-- ++(0,2)-- ++(-1,0)-- ++(0,2)-- ++(1,0)--
%     ++(0,1)-- ++(-1,0)-- ++(0,-1)-- ++(-2,0)-- ++(0,3)-- ++(2,0)-- ++(0,-1)--
%     ++(1,0)-- ++(0,1)-- ++(1,0)-- ++(0,-1)-- ++(1,0)-- ++(0,-3)-- ++(-2,0)--
%     ++(1,0)-- ++(0,-3)-- ++(1,0)-- ++(0,-1)-- ++(-6,0)-- ++(0,3)-- ++(2,0)--
%     ++(0,-1)-- ++(1,0);
% \end{tikzpicture}
% \end{codeexample}

% \printindex

%\typeout{Examples: \the\codeexamplecount}%
\end{document}



%%% Local Variables:
%%% mode: latex
%%% TeX-master: "~/pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual"
%%% coding: iso-latin-1-unix
%%% End:
